home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hottest 6
/
Hottest 6 (1996)(PDSoft)[!].iso
/
software
/
fredfish
/
1092.lha
/
Programs
/
ErrorMsg
/
Rexx
/
ERMID.rexx
next >
Wrap
OS/2 REXX Batch file
|
1994-12-22
|
7KB
|
160 lines
/* This program is in fact a function that is used to return the numeric */
/* value of the identifier given in argument. This is part of the */
/* errormsg.library V4.01 distribution (not required to work though) */
/*******************************************************/
/* */
/* $VER: rexx:ERMID.rexx 1.04 (22.12.94) */
/* */
/* ©1994 F.Delacroix, FreeWare */
/* */
/* Usage: Num=ERMID(AlphaNum) */
/* */
/* See below for possible values */
/* */
/* Frédéric Delacroix */
/* 5 rue d'Artres */
/* 59269 Quérénaing */
/* France */
/* */
/*******************************************************/
parse upper arg args.1 .,args.2 .,args.3 .,args.4 .,args.5 .,args.6 .,
args.7 .,args.8 .,args.9 .,args.10 .,args.11 .,args.12 .,
args.13 .,args.14 .,args.15 .
NumID=0
do i=1 to Arg()
select
/* First check for system identifiers for errormsg.library */
when args.i=ERMSYS_DOS then return 0
when args.i=ERMSYS_EXEC then return 1
when args.i=ERMSYS_GRAPHICS then return 2
when args.i=ERMSYS_INTUITION then return 3
when args.i=ERMSYS_IFFPARSE then return 4
when args.i=ERMSYS_AUDIO then return 5
when args.i=ERMSYS_GAMEPORT then return 6
when args.i=ERMSYS_NARRATOR then return 7
when args.i=ERMSYS_PARALLEL then return 8
when args.i=ERMSYS_PRINTER then return 9
when args.i=ERMSYS_SCSIDISK then return 10
when args.i=ERMSYS_SERIAL then return 11
when args.i=ERMSYS_TRACKDISK then return 12
when args.i=ERMSYS_CLIPBOARD then return 13
when args.i=ERMSYS_CONSOLE then return 14
when args.i=ERMSYS_INPUT then return 15
when args.i=ERMSYS_KEYBOARD then return 16
when args.i=ERMSYS_TIMER then return 17
when args.i=ERMSYS_AMIGAGUIDE then return 18
when args.i=ERMSYS_ARP then return 19
when args.i=ERMSYS_COMMODITIES then return 20
when args.i=ERMSYS_ERRORMSG then return 21
when args.i=ERMSYS_EXPANSION then return 22
when args.i=ERMSYS_GADTOOLS then return 23
when args.i=ERMSYS_POWERPACKER then return 24
when args.i=ERMSYS_TRANSLATOR then return 25
when args.i=ERMSYS_DATATYPES then return 26
when args.i=ERMSYS_DISKFONT then return 27
when args.i=ERMSYS_MUI then return 28
when args.i=ERMSYS_XFD then return 29
when args.i=ERMSYS_GADTOOLSBOX then return 30
when args.i=ERMSYS_GUIFRONT then return 31
when args.i=ERMSYS_XPK then return 32
/* then check for subsystem identifiers for errormsg.library */
when args.i=ERMSUB_Generic then return 0
/* For ERMSYS_DOS: */
when args.i=ERMSUB_IoErr then return -132
when args.i=ERMSUB_MatchFirst then return -132
when args.i=ERMSUB_MatchNext then return -132
/* For ERMSYS_EXEC: */
when args.i=ERMSUB_NoMemory then return -198
when args.i=ERMSUB_NoLibrary then return -552
/* For ERMSYS_GRAPHICS: */
when args.i=ERMSUB_MakeVPort then return -216
when args.i=ERMSUB_MrgCop then return -210
/* For ERMSYS_INTUITION: */
when args.i=ERMSUB_OpenScreen then return -198
when args.i=ERMSUB_OpenScreenTagList then return -198
/* For ERMSYS_COMMODITIES: */
when args.i=ERMSUB_CxBroker then return -36
when args.i=ERMSUB_CxObjError then return -66
/* For ERMSYS_MUI: */
when args.i=ERMSUB_MUIAutoError then return -66
/* note: the latter is only defined in a consistency concern; it is obvious
it is not usable from an ARexx program (hard to make ARexx programs into
MUI applications ! :-) */
/* For ERMSYS_GADTOOLSBOX :*/
when args.i=ERMSUB_LoadGUI then return -264
when args.i=ERMSUB_SetupScreen then return 1
when args.i=ERMSUB_OpenAWindow then return 2
/* For ERMSYS_GUIFRONT :*/
when args.i=ERMSUB_CreateGUIA then return -60
/* Some systems constants now...*/
/* memory attributes */
when args.i=MEMF_ANY then nop /* equals 0 */
when args.i=MEMF_PUBLIC then NumID=NumID+1
when args.i=MEMF_CHIP then NumID=NumID+2
when args.i=MEMF_FAST then NumID=NumID+4
when args.i=MEMF_LOCAL then NumID=NumID+256
when args.i=MEMF_24BITDMA then NumID=NumID+512
when args.i=MEMF_KICK then NumID=NumID+1024
/* IDCMP flags */
when args.i=IDCMP_SIZEVERIFY then NumID=NumID+1
when args.i=IDCMP_NEWSIZE then NumID=NumID+2
when args.i=IDCMP_REFRESHWINDOW then NumID=NumID+4
when args.i=IDCMP_MOUSEBUTTONS then NumID=NumID+8
when args.i=IDCMP_MOUSEMOVE then NumID=NumID+16
when args.i=IDCMP_GADGETDOWN then NumID=NumID+32
when args.i=IDCMP_GADGETUP then NumID=NumID+64
when args.i=IDCMP_REQSET then NumID=NumID+128
when args.i=IDCMP_MENUPICK then NumID=NumID+256
when args.i=IDCMP_CLOSEWINDOW then NumID=NumID+512
when args.i=IDCMP_RAWKEY then NumID=NumID+1024
when args.i=IDCMP_REQVERIFY then NumID=NumID+2048
when args.i=IDCMP_REQCLEAR then NumID=NumID+4096
when args.i=IDCMP_MENUVERIFY then NumID=NumID+8192
when args.i=IDCMP_NEWPREFS then NumID=NumID+16384
when args.i=IDCMP_DISKINSERTED then NumID=NumID+32768
when args.i=IDCMP_DISKREMOVED then NumID=NumID+65536
when args.i=IDCMP_WBENCHMESSAGE then NumID=NumID+131072
when args.i=IDCMP_ACTIVEWINDOW then NumID=NumID+262144
when args.i=IDCMP_INACTIVEWINDOW then NumID=NumID+524288
when args.i=IDCMP_DELTAMOVE then NumID=NumID+1048576
when args.i=IDCMP_VANILLAKEY then NumID=NumID+2097152
when args.i=IDCMP_INTUITICKS then NumID=NumID+4194304
when args.i=IDCMP_IDCMPUPDATE then NumID=NumID+8388608
when args.i=IDCMP_MENUHELP then NumID=NumID+16777216
when args.i=IDCMP_CHANGEWINDOW then NumID=NumID+33554432
when args.i=IDCMP_GADGETHELP then NumID=NumID+67108864
when args.i=IDCMP_LONELYMESSAGE then NumID=NumID+4294967296
/* flags for ERMSYS_EXEC/ERMSUB_NoLibrary (see include file!)
when args.i=EXECF_NOLIB_USENAME then NumID=NumID+1
when args.i=EXECF_NOLIB_USEVERION then NumID=NumID+3
/* Here it is, it should be enough for any symbol required for */
/* errormsg.library functions. Of course, nothing prevents you */
/* from using these symbols (and this program) in another context, */
/* just remember this is copyright 1994 F.Delacroix, FreeWare */
otherwise nop
end /* end of select */
end /* end of do */
return NumID